import { inject, injectable } from "inversify";
import { SemVer } from "semver";
import { IFileSystem, IPlatformService } from "../../../common/platform/types";
import { ICondaService } from "../../../interpreter/contracts";
import { Conda, CondaEnvironmentInfo } from "./conda";

@injectable()
export class CondaService implements ICondaService {
    private isAvailable: boolean | undefined;

    constructor(
        @inject(IPlatformService) private platform: IPlatformService,
        @inject(IFileSystem) private fileSystem: IFileSystem,
    ) {}
  getCondaFile(forShellExecution?: boolean): Promise<string> {
    throw new Error("82Method not implemented.");
  }
  isCondaAvailable(): Promise<boolean> {
    throw new Error("83Method not implemented.");
  }
  public async getCondaVersion(): Promise<SemVer | undefined> {
    return Conda.getConda().then((conda) => conda?.getCondaVersion());
}
  getInterpreterPathForEnvironment(condaEnv: CondaEnvironmentInfo): Promise<string | undefined> {
    throw new Error("85Method not implemented.");
  }
  getCondaFileFromInterpreter(interpreterPath?: string, envName?: string): Promise<string | undefined> {
    throw new Error("86Method not implemented.");
  }
}